From 08d57febc4bcebc6d228c215e363a589498894da Mon Sep 17 00:00:00 2001 From: Jonas Bernoulli Date: Thu, 4 Aug 2022 14:05:15 +0200 Subject: [PATCH] Don't make description longer than allowed when truncating Truncating the description to the allowed maximal length and then appending an ellipsis, makes the final text longer than allowed. The length of the ellipsis has to be taken into account. --- which-key.el | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/which-key.el b/which-key.el index a2986269fdd..2062a737abe 100644 --- a/which-key.el +++ b/which-key.el @@ -1605,8 +1605,9 @@ If KEY contains any \"special keys\" defined in (if (floatp val) (truncate val) val)))))) (if (and max (> (length desc) max)) (let* ((last-face (get-text-property (1- (length desc)) 'face desc)) - (dots (which-key--propertize which-key-ellipsis 'face last-face))) - (concat (substring desc 0 max) dots)) + (dots (which-key--propertize which-key-ellipsis + 'face last-face))) + (concat (substring desc 0 (- max (length dots))) dots)) desc))) (defun which-key--highlight-face (description) -- 2.30.2